Selectable flattening hierarchical file browser

ABSTRACT

Embodiments of the present invention address deficiencies of the art in respect to hierarchical tree file browsers and provide a method, system and computer program product for selectably flattening a hierarchical tree object structure in a hierarchical tree object browser. In one embodiment of the invention, a method of flattening an object hierarchy in an object browser can be provided. The method can include selecting a node in an object hierarchy in an object browser and, responsive to selecting the node, displaying content for the selected node and content for at least one node below the selected node in the object browser.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to the display of objects such as filesand containers in a hierarchy and more particularly to the flattening ofthe display of files and containers in an object hierarchy.

2. Description of the Related Art

Electronic objects in a data processing system often are organizedhierarchically in a parent-child relationship. Specifically, theearliest file systems for computing environments provided a hierarchicaldirectory structure in which electronically stored documents could bestored in specific directories or folders. Directories and folders,collectively viewed as containers, could be nested to provide a level oforganization for electronic documents akin to a tree having a root node,leaf nodes and intermediate branches and connecting nodes.

Contemporary data structure theory expands upon the notion of thehierarchical directory structure to provide the most common form ofgenus-species data organization not only for file storage, but forgeneral objects in memory as well. While hierarchical trees are known tobe constructed programmatically in a number of ways, the most common wayis the linked list of nodes in a tree formation. Generally, thehierarchical tree can be visually rendered in a GUI by providingcollapsible nodes such that the hierarchy can be viewed merely as a rootnode, or the hierarchy can be viewed in fully expanded form to revealthe hierarchical tree. Of course, as each node in the hierarchy can beexpanded or collapsed individually, any portion of the hierarchical treecan be viewed within the GUI as most computing users have becomeaccustomed to understand.

In the most recognizable form of the conventional hierarchical tree filebrowser, a dual paned approach is provided. The dual paned approachincludes a navigation pane and a content pane. In the navigation pane, avisual tree representative of the file hierarchy is rendered withcollapsible and expandable nodes throughout. The nodes are limited,however, to containers of the hierarchy and the nodes do not includefiles. By comparison, in the content pane, the content of a selectednode is displayed. The content generally includes both the file contentof the container represented by the selected node, and any containersimmediately linked in child-relationships to the container representedby the selected node.

Other recognizable forms of the conventional hierarchical tree filebrowser provide for a multi-paned approach. In the multi-paned approach,the left-most, primary pane includes a tree view of the entirehierarchy. Subsequent panes adjacent to the left-most, primary pane andto the right of the left-most, primary pane provide hierarchical viewsof the branches represented by selected nodes in the left adjacentpanes. The right-most pane ultimately provides a listing of the files ina selected node as well as any containers linked to the selected node ina child relationship.

For relatively flat hierarchical file system structures, theconventional hierarchical tree file browser functions admirably aftermore than two decades of use. Yet, for deep, multi-branch structures,the conventional hierarchical tree file browser falls short onfunctionality. Specifically, in order to readily view and appreciatedifferent files within different containers of a file system within aconventional hierarchical tree file browser, the end user mustrepeatedly select different nodes along a branch while recording thecontent of each node separately. Recognizing relationships betweendifferent files at different levels of the hierarchy of files can benear impossible.

BRIEF SUMMARY OF THE INVENTION

Embodiments of the present invention address deficiencies of the art inrespect to hierarchical tree file browsers and provide a novel andnon-obvious method, system and computer program product for selectablyflattening a hierarchical tree structure in a hierarchical tree browser.In one embodiment of the invention, a method of flattening an objecthierarchy in a browser can be provided. The method can include selectinga node in a hierarchy such as a file hierarchy, in an object browsersuch as a file system browser, and, responsive to selecting the node,displaying content for the selected node and content for at least onenode below the selected node in the object browser.

In one aspect of the embodiment, displaying content for the selectednode and content for at least one node below the selected node in theobject browser, can include displaying in a file system browser bothfiles and containers for the selected node and files and containers forat least one node below the selected node in the file system browser. Inanother aspect of the embodiment, displaying content for the selectednode and content for at least one node below the selected node in theobject browser, can include displaying in a file system browser onlyfiles for the selected node and only files for at least one node belowthe selected node in the file system browser, whilst suppressing fromview containers for the selected node and containers for the at leastone node below the selected node.

In yet another aspect of the embodiment, displaying content for theselected node and content for at least one node below the selected nodein the object browser, can include determining a selection of an optionto suppress containers. If it is determined that the option has beenselected, only files for the selected node and only files for at leastone node below the selected node in a file system browser can bedisplayed, whilst containers for the selected node and containers forthe at least one node below the selected node can be suppressed fromview. Otherwise both files and containers for the selected node andfiles and containers for at least one node below the selected node inthe file system browser can be displayed.

In even yet another aspect of the embodiment, displaying content for theselected node and content for at least one node below the selected nodein the object browser can include determining a selection of an optionto show all content below a selected node. If it is determined that theoption has been selected, content for the selected node and content forat least one node below the selected node can be displayed in the objectbrowser. Otherwise only content for the selected node can be displayedin the object browser.

In another embodiment of the invention, a selectable flattening filesystem browser can be provided. The selectable flattening file systembrowser can include a navigation view of a file system hierarchyincluding a hierarchical arrangement of nodes, each of the nodesrepresenting a container in the file system hierarchy. The selectableflattening file system browser further can include a selectable optionto show content in a selected node of the file system hierarchy and atleast one node in the file system hierarchy residing below the selectednode. Finally, the selectable flattening file system browser can includea flat view of content for a selected node in the navigation view. Theflat view can include content that varies according to a selection ofthe selectable option ranging from only content in the selected node, tocontent in the selected node and at least one node below the selectednode.

Additional aspects of the invention will be set forth in part in thedescription which follows, and in part will be obvious from thedescription, or may be learned by practice of the invention. The aspectsof the invention will be realized and attained by means of the elementsand combinations particularly pointed out in the appended claims. It isto be understood that both the foregoing general description and thefollowing detailed description are exemplary and explanatory only andare not restrictive of the invention, as claimed.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute partof this specification, illustrate embodiments of the invention andtogether with the description, serve to explain the principles of theinvention. The embodiments illustrated herein are presently preferred,it being understood, however, that the invention is not limited to theprecise arrangements and instrumentalities shown, wherein:

FIG. 1 is a pictorial sequence of screen shots exemplifying a method forselectably flattening an object hierarchy in a hierarchical objectbrowser;

FIG. 2 is a block diagram illustrating a computing architectureconfigured to support a selectable flattening hierarchical objectbrowser; and,

FIG. 3 is a flow chart illustrating a process for flattening an objecthierarchy in a hierarchical object browser.

DETAILED DESCRIPTION OF THE INVENTION

Embodiments of the present invention provide a method, system andcomputer program product for selectably flattening an object hierarchyin a hierarchical object browser. In accordance with an embodiment ofthe present invention, a node of an object hierarchy represented withinthe object browser can be selected for processing. In response, all ofthe content of all of the nodes below the selected node can beselectably presented in a single view, including both files andcontainers. Alternatively, only the files and not the containers belowthe selected node can be selectably presented in the single view. As yeta further alternative, only the content of the selected node can bepresented in the single view. As a final alternative, only the files andnot the containers of the selected node can be presented in the singleview.

In further illustration, FIG. 1 is a pictorial sequence of screen shootsexemplifying a method for selectably flattening an object hierarchy in ahierarchical object browser. In the method of the invention, severalflattening configurations can be established. The configurations caninclude displaying only the content of a selected node, displaying thecontent of all nodes below the selected node, displaying only the filesof a selected node, and displaying only the files of all nodes below theselected node. The selection of the nodes in the hierarchy can beperformed within a navigation pane of a hierarchical file browser, whilethe display of nodal content can be performed in a content pane of thehierarchical file browser.

Referring specifically to FIG. 1, in a first example, the option 150A toshow all content below a selected node can be selected, while the option150B to suppress the display of containers can be de-selected. A filehierarchy 130 can be rendered within a navigation pane 110 and a node inthe file hierarchy 130 can be selected. In response, a flat view 140 ofall content residing in nodes below the selected node can be displayedin a content pane 120 of the hierarchical file browser. In this regard,the flat view 140 can include not only the files and containers of theselected node, but also the files and containers of all child nodesbelow the selected node.

In the second example of FIG. 1, the option 150A to show all contentbelow a selected node can be selected, as can the option 150B tosuppress the display of containers. In this exemplary circumstance, thefile hierarchy 130 can be rendered within a navigation pane 110 and anode in the file hierarchy 130 can be selected. In response, a flat view140 of all files residing in nodes below the selected node can bedisplayed in the content pane 120 of the hierarchical file browser. Yet,the flat view 140 can include merely the files of the selected node andall children nodes below the selected node, and not any containers inthe selected node and the children node below the selected node.

Finally, in the third example of FIG. 1, the option 150A to show allcontent below a selected node can be de-selected, while the option 150Bto suppress the display of containers can be selected. In this exemplarycircumstance, the file hierarchy 130 can be rendered within a navigationpane 110 and a node in the file hierarchy 130 can be selected. Inresponse, the flat view 140 of only those files residing in the selectednode can be displayed in the content pane 120 of the hierarchical filebrowser. The flat view 140, however, can exclude the containers of theselected node and all content of all nodes below the selected node.Notably, though not illustrated, it will be apparent to the skilledartisan that in a fourth possible configuration, both the containers andfiles of a selected node can be displayed as is the case in aconventional hierarchical file browser.

In yet further illustration, FIG. 2 is a block diagram illustrating acomputing architecture configured to support a selectable flatteninghierarchical file browser. The computing architecture can include a hostcomputing platform having a central processing unit (CPU) 210,associated volatile and non-volatile memory 220, fixed storage 230 and acommunications adapter 240. The host computing platform can support theexecution of a file system 250 managing files and containers in memory220, fixed storage 230 and even in remote storage through communicationsadapter 240. An operating system 260 can execute in conjunction with thefile system 250, and can even be combined with the file system as asingle entity. The operating system 260 can support the operation of oneor more computing applications 270 as well as the selectable flatteningfile system browser 280. Though the selectable flattening file systembrowser 280 is shown as a separate application as is the case with manyfile system browsers, the selectable flattening file system browser 280just as easily can be included as part and parcel of either theoperating system 260 or the file system 250.

The selectable flattening file system browser 280 can perform theselectable flattening of a file system hierarchy in a file systemhierarchical browser. In illustration, FIG. 3 is a flow chartillustrating a process for flattening a file hierarchy in a hierarchicalfile browser. Beginning in block 300, the options configurations can beretrieved from memory indicating a flattening preference for the filesystem browser. The flattening preferences can range from showing onlythose files and containers of a selected node in a file systemhierarchy, to showing a flat view of all files and containers for allnodes residing below a selected node in the file system hierarchy.

In block 310, the file system hierarchy can be loaded for processingand. in block 320, a navigation pane for the file system browser can berendered. In block 330, a node in the file system hierarchy can beselected in the navigation pane. In decision block 340, if the optionsconfigurations provide for the revelation of all content below theselected node, in block 350 the entirety of the sub-hierarchy below theselected node can be retrieved for processing. Otherwise, in block 360,only the content of the container represented by the selected node needby retrieved for processing.

In either circumstance, in decision block 370 it can be determinedwhether or not to suppress the display of containers in a flat view ofthe file hierarchy. If so, in block 380 the containers can be removedfrom rendering in the flat view. Otherwise, the containers can remainfor rendering in the flat view. As such, in block 390 the content paneof the file system browser can be rendered with the remaining content.Thereafter, the process can return to block 320 in which the navigationpane can be rendered and a new selection of a node can be applied inblock 330. The process can continue for the duration of operation of thefile system browser.

Embodiments of the invention can take the form of an entirely hardwareembodiment, an entirely software embodiment or an embodiment containingboth hardware and software elements. In a preferred embodiment, theinvention is implemented in software, which includes but is not limitedto firmware, resident software, microcode, and the like. Furthermore,the invention can take the form of a computer program product accessiblefrom a computer-usable or computer-readable medium providing programcode for use by or in connection with a computer or any instructionexecution system.

For the purposes of this description, a computer-usable or computerreadable medium can be any apparatus that can contain, store,communicate, propagate, or transport the program for use by or inconnection with the instruction execution system, apparatus, or device.The medium can be an electronic, magnetic, optical, electromagnetic,infrared, or semiconductor system (or apparatus or device) or apropagation medium. Examples of a computer-readable medium include asemiconductor or solid state memory, magnetic tape, a removable computerdiskette, a random access memory (RAM), a read-only memory (ROM), arigid magnetic disk and an optical disk. Current examples of opticaldisks include compact disk—read only memory (CD-ROM), compactdisk—read/write (CD-R/W) and DVD.

A data processing system suitable for storing and/or executing programcode will include at least one processor coupled directly or indirectlyto memory elements through a system bus. The memory elements can includelocal memory employed during actual execution of the program code, bulkstorage, and cache memories which provide temporary storage of at leastsome program code in order to reduce the number of times code must beretrieved from bulk storage during execution. Input/output or I/Odevices (including but not limited to keyboards, displays, pointingdevices, etc.) can be coupled to the system either directly or throughintervening I/O controllers. Network adapters may also be coupled to thesystem to enable the data processing system to become coupled to otherdata processing systems or remote printers or storage devices throughintervening private or public networks. Modems, cable modem and Ethernetcards are just a few of the currently available types of networkadapters.

1.-5. (canceled)
 6. A selectable flattening object browser comprising: anavigation view of an object hierarchy comprising a hierarchicalarrangement of nodes in the flattening object browser, each of the nodesrepresenting a container in the object hierarchy; a singular optionconfigured for toggling between (1) a display of files and containers offiles of all nodes below a selected node and (2) a display of only filesand containers in the selected node; and, a flat view of content for aselected node in the navigation view, the flat view comprisingdisplaying files and containers of files for the selected node and alsofiles and containers for all nodes below the selected node in the objectbrowser if the singular option toggled to display files and containersof files of all nodes below a selected node, but otherwise displayingfiles and containers of files for only the selected node if the singularoption is toggled to display only files and containers in a selectednode, responsive to selecting a node in the object hierarchy.
 7. Theselectable flattening object browser of claim 6, wherein the navigationview is disposed in a navigation pane and the flat view is disposed in acontent pane.
 8. (canceled)
 9. The selectable flattening object browserof claim 6, wherein the object hierarchy is a file system hierarchy andwherein the flattening object browser is a flattening file systembrowser.
 10. A computer program product comprising a computer usablestorage medium having computer usable program code for flattening aobject hierarchy in an object browser, the computer program productincluding: computer usable program code for displaying an object browserin memory of a computer; computer usable program code for providing asingular option configured for toggling between (1) a display of filesand containers of files of all nodes below a selected node and (2) adisplay of only files and containers in a selected node; computer usableprogram code for selecting a node in an object hierarchy displayed inthe object browser; and, computer usable program code for, responsive toselecting the node, displaying files and containers for the selectednode and also all files and containers for all nodes below the selectednode in the object browser if the singular option is toggled to displayfiles and containers of files of all nodes below a selected node, butotherwise displaying files and containers of files for only the selectednode if the singular option is toggled to display only files andcontainers in a selected node.
 11. -12. (canceled)
 13. A computerprogram product comprising a computer usable storage medium havingcomputer usable program code for flattening an object hierarchy in anobject browser, the computer program product including: computer usableprogram code for displaying the object browser in memory of a computer;computer usable program code for providing a singular option configuredfor toggling between (1) a suppression and (2) display of containers offiles for all displayed modes; computer usable program code forselecting a node in the object hierarchy in the object browser; and,computer usable program code for, responsive to selecting the node andcontent for at least one node below the selected node in the objectbrowser, wherein displaying content for the selected node and contentfor at least one node below the selected node in the object browser,comprises: computer usable program code for determining if the singularoption configured for toggling between the suppression or display of thecontainers of files has been toggled to suppress a display of containersof files; computer usable program code for displaying only files for theselected node and only files for at least one node below the selectednode in the object browser, whilst suppressing from view containers forthe selected node and containers for the at least one node below theselected node if it is determined that the singular option has beentoggled for suppression; and, computer usable program code for otherwisedisplaying both files and files and containers for at least one nodebelow the selected node in the object browser.
 14. (canceled)
 15. Thecomputer program product of claim 10, further comprising: additionallyproviding an option to toggle a suppression or display of containers offiles for all displayed nodes; and, subsequent to loading containers fordisplay in the object browser responsive to the selection of the node,removing all containers loaded for display in the object browser.